export const DebounceBy = (fn, t) => {
    const delay = t || 1000;
    let timer;
    return function () {
        const args = arguments;

        if(timer){
            clearTimeout(timer);
        }

        let callNow = !timer;
    
        timer = setTimeout(() => {
            timer = null
        }, delay);

        if(callNow) fn.apply(this, args)
    }
}